// 这个文件专门去二次封装axios
import axios from "axios";
// import Nprogress from 'nprogress'
// import 'nprogress/nprogress.css'
import { getUserTempId } from "@/utils/userAbout"; //引入他的样式文件
const request = axios.create({
  baseURL: "/api", //基础路径
  timeout: 10000, //超时时间 单位是毫秒值
});

// 添加请求拦截器
// request.interceptors.request.use(function (config) {
//   // 发送请求成功执行的回调函数
//   // config是请求所有信息所组成的一个对象 (请求报文)
//   config.headers.userTempId = getUserTempId()
//   // 增加token
//   let token = store.state.user.token
//   if (token) {
//     config.headers.token = token
//   }
//   // 开启进度条
//   Nprogress.start()
//   return config
// })

// 添加响应拦截器
request.interceptors.response.use(
  function (response) {
    // 响应成功执行的回调函数
    // response是响应所有信息所组成的一个对象 (响应报文)
    // 统一返回数据
    // 关闭进度条
    // Nprogress.done();
    return response.data;
  },
  function (error) {
    // 响应失败执行的回调函数
    // 统一处理处理
    // 关闭进度条
    // Nprogress.done();
    if (error.response.status == 401) {
      alert("未授权");
    } else if (error.response.status == 403) {
      alert("禁止访问");
    } else if (error.response.status == 404) {
      alert("错误访问");
    } else if (error.response.status == 500) {
      alert("服务器出错了");
    }
    return new Promise(() => {}); //返回一个pending的promise 中断promise链
  }
);

export default request;
